Platform Explorer / Nuxeo Platform 2023.9

Component org.nuxeo.ecm.platform.search.default.pageproviders

Resolution Order

848
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.

Contributions

XML Source

<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.search.default.pageproviders">

  <extension target="org.nuxeo.ecm.platform.query.api.PageProviderService" point="providers">

    <coreQueryPageProvider name="default_search">
      <trackUsage>true</trackUsage>
      <searchDocumentType>DefaultSearch</searchDocumentType>
      <whereClause>
        <fixedPart>
          ecm:primaryType NOT IN ('Domain', 'SectionRoot', 'TemplateRoot', 'WorkspaceRoot', 'Favorites')
          AND ecm:mixinType != 'HiddenInNavigation'
          AND NOT (ecm:mixinType = 'Collection' AND ecm:name = 'Locally Edited')
          AND ecm:isVersion = 0
          AND ecm:isTrashed = 0
          AND ecm:parentId IS NOT NULL
          AND SORTED_COLUMN IS NOT NULL
        </fixedPart>
        <predicate parameter="ecm:fulltext" operator="FULLTEXT">
          <field schema="default_search" name="ecm_fulltext" />
        </predicate>
        <predicate parameter="dc:creator" operator="IN">
          <field schema="default_search" name="dc_creator" />
        </predicate>
        <predicate parameter="dc:created" operator="BETWEEN">
          <field schema="default_search" name="dc_created_min" />
          <field schema="default_search" name="dc_created_max" />
        </predicate>
        <predicate parameter="dc:modified" operator="BETWEEN">
          <field schema="default_search" name="dc_modified_min" />
          <field schema="default_search" name="dc_modified_max" />
        </predicate>
        <predicate parameter="dc:nature" operator="IN">
          <field schema="default_search" name="dc_nature" />
        </predicate>
        <predicate parameter="dc:subjects" operator="STARTSWITH">
          <field schema="default_search" name="dc_subjects" />
        </predicate>
        <predicate parameter="dc:coverage" operator="STARTSWITH">
          <field schema="default_search" name="dc_coverage" />
        </predicate>
        <predicate parameter="ecm:path" operator="STARTSWITH">
          <field schema="default_search" name="ecm_path" />
        </predicate>
        <predicate parameter="ecm:tag" operator="IN">
          <field schema="default_search" name="ecm_tags" />
        </predicate>
        <predicate parameter="collectionMember:collectionIds"
                   operator="IN">
          <field schema="default_search" name="ecm_collections" />
        </predicate>
      </whereClause>
      <aggregates>
        <aggregate id="dc_nature_agg" type="terms" parameter="dc:nature">
          <field schema="default_search" name="dc_nature_agg" />
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="dc_subjects_agg" type="terms" parameter="dc:subjects">
          <field schema="default_search" name="dc_subjects_agg" />
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="dc_coverage_agg" type="terms" parameter="dc:coverage">
          <field schema="default_search" name="dc_coverage_agg" />
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="dc_creator_agg" type="terms" parameter="dc:creator">
          <field schema="default_search" name="dc_creator_agg" />
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="common_size_agg" type="range" parameter="file:content.length">
          <field schema="default_search" name="common_size_agg" />
          <ranges>
            <range key="tiny" to="102400"/>
            <range key="small" from="102401" to="1048576"/>
            <range key="medium" from="1048577" to="10485760"/>
            <range key="big" from="10485761" to="104857600" />
            <range key="huge" from="104857601" />
          </ranges>
        </aggregate>
        <aggregate id="dc_modified_agg" type="date_range" parameter="dc:modified">
          <field schema="default_search" name="dc_modified_agg" />
          <properties>
            <property name="format">"dd-MM-yyyy"</property>
          </properties>
          <dateRanges>
            <dateRange key="last24h" fromDate="now-24H" toDate="now"/>
            <dateRange key="lastWeek" fromDate="now-7d" toDate="now-24H"/>
            <dateRange key="lastMonth" fromDate="now-1M" toDate="now-7d"/>
            <dateRange key="lastYear" fromDate="now-1y" toDate="now-1M"/>
            <dateRange key="priorToLastYear" toDate="now-1y"/>
          </dateRanges>
        </aggregate>
      </aggregates>
      <quickFilters>
        <quickFilter name="noFolder">
          <clause>ecm:mixinType != 'Folderish'</clause>
        </quickFilter>
        <quickFilter name="mostRecent">
          <sort column="dc:modified" ascending="false" />
        </quickFilter>
        <quickFilter name="onlyValidated">
          <clause>ecm:currentLifeCycleState = 'approved'</clause>
          <sort column="dc:modified" ascending="false" />
        </quickFilter>
      </quickFilters>
      <pageSize>20</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="default_trash_search">
      <trackUsage>true</trackUsage>
      <searchDocumentType>DefaultSearch</searchDocumentType>
      <whereClause>
        <fixedPart>
          ecm:primaryType NOT IN ('Domain', 'SectionRoot', 'TemplateRoot', 'WorkspaceRoot', 'Favorites')
          AND ecm:mixinType != 'HiddenInNavigation'
          AND NOT (ecm:mixinType = 'Collection' AND ecm:name = 'Locally Edited')
          AND ecm:isCheckedInVersion = 0
          AND ecm:isTrashed = 1
          AND ecm:parentId IS NOT NULL
          AND SORTED_COLUMN IS NOT NULL
        </fixedPart>
        <predicate parameter="ecm:fulltext" operator="FULLTEXT">
          <field schema="default_search" name="ecm_fulltext" />
        </predicate>
        <predicate parameter="ecm:path" operator="STARTSWITH">
          <field schema="default_search" name="ecm_path" />
        </predicate>
      </whereClause>
      <aggregates>
        <aggregate id="dc_creator_agg" type="terms" parameter="dc:creator">
          <field schema="default_search" name="dc_creator_agg" />
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="common_size_agg" type="range" parameter="file:content.length">
          <field schema="default_search" name="common_size_agg" />
          <ranges>
            <range key="tiny" to="102400"/>
            <range key="small" from="102401" to="1048576"/>
            <range key="medium" from="1048577" to="10485760"/>
            <range key="big" from="10485761" to="104857600" />
            <range key="huge" from="104857601" />
          </ranges>
        </aggregate>
      </aggregates>
      <pageSize>20</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="simple_search">
      <trackUsage>true</trackUsage>
      <searchDocumentType>DefaultSearch</searchDocumentType>
      <whereClause>
        <fixedPart>
          ecm:mixinType != 'HiddenInNavigation' AND
          ecm:isVersion = 0
          AND ecm:isTrashed = 0
          AND ecm:parentId IS NOT NULL
          AND SORTED_COLUMN IS NOT NULL
        </fixedPart>
        <predicate parameter="ecm:fulltext" operator="FULLTEXT">
          <field schema="default_search" name="ecm_fulltext" />
        </predicate>
      </whereClause>
      <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance -->
      <pageSize>20</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="nxql_search">
      <trackUsage>true</trackUsage>
      <searchDocumentType>DefaultSearch</searchDocumentType>
      <pattern quoteParameters="false" escapeParameters="false">?</pattern>
      <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance -->
      <pageSize>20</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="expired_search" class="org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider">
      <trackUsage>true</trackUsage>
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <searchDocumentType>ExpiredSearch</searchDocumentType>
      <whereClause>
        <fixedPart>
          ecm:isVersion = 0 AND
          ecm:mixinType !=
          'HiddenInNavigation' AND ecm:isTrashed = 0
        </fixedPart>
        <predicate parameter="dc:title" operator="FULLTEXT">
          <field schema="expired_search" name="title" />
        </predicate>
        <predicate parameter="dc:expired" operator="&lt;">
          <field schema="expired_search" name="expired_max" />
        </predicate>
        <predicate parameter="dc:expired" operator="&gt;">
          <field schema="expired_search" name="expired_min" />
        </predicate>
      </whereClause>
      <aggregates>
        <aggregate id="dc_creator_agg" type="terms" parameter="dc:creator">
          <field schema="expired_search" name="dc_creator_agg" />
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="dc_expired_agg" type="date_histogram" parameter="dc:expired">
          <field schema="expired_search" name="dc_expired_agg" />
          <properties>
            <property name="interval">month</property>
            <property name="format">MM-yyyy</property>
            <property name="order">key asc</property>
          </properties>
        </aggregate>
      </aggregates>
      <sort column="dc:expired" ascending="true" />
      <pageSize>20</pageSize>
      <quickFilters>
        <quickFilter name="approved">
          <clause>ecm:currentLifeCycleState = 'approved'</clause>
        </quickFilter>
      </quickFilters>
    </coreQueryPageProvider>

  </extension>

</component>